package config

import (
	_map "micro-core/map"
	"sync"
)

type Config struct {
	_map.Map
}

var once sync.Once
var c *Config

func GetDefaultConfig() *Config {
	once.Do(func() {
		c = NewConfig()
	})
	return c
}

func NewConfig() *Config {
	c = new(Config)
	m := make(map[string]interface{})
	c.NewMap(m)
	return c
}

func Set(key string, value interface{}) {
	GetDefaultConfig().Set(key, value)
}

func Get(key string) {
	GetDefaultConfig().Get(key)
}

func GetString(key string) {
	GetDefaultConfig().GetString(key)
}
